ILLUMINATI - FOR DRAGON 32
(Part VII of The Illuminati Project)
by Jim Waterman, 20-23 December 2022
====================================


Context
-------

In the beginning, "the most ludicrous year" of 2020, there was the original Illuminati game, sent to John Connolly's 2020 comp.sys.sinclair Crap Games Competition, as the only ZX81 entry for that year. It was, as I like to do, "a ludicrously over-polished game" (by ZX81 CSSCGC standards, anyway). For the most part, it was a vehicle to show off that my first steps in rudimentary Z80 machine code could also be replicated on the ZX81 where I didn't have the luxury of a built-in assembler.

And now, LONG STORY SHORT(ish... for me, this is very unusual):

The game was converted to the Spectrum - adding colour and sound and compressing it to fit into the 16K model (which has barely 9K of usable memory, and the ZX81 version already used that much...), and was released on Dave Hughes' WOOT! Tape Magazine at the end of 2021. A QL version ("QLluminati") followed in May 2022, back in the CSSCGC, but other than 2022 CSSCGC host Andy Jenkinson hoping (sarcastically) for an even better version for the SAM Coupé or the Next, where else was there to go?

That was where The Illuminati Project really launched. I would convert this game, machine code and all, to as many 1980s computers was was possible. Surely an easy route would be the Amstrad CPC or MSX, both Z80-based machines where I could re-use all the Spectrum code, right?

...not immediately, because I'd always wanted to make something for the VIC-20, just to see what was possible if I gave it an extra 8K to play with. Two more Commodore version were derived from it; first, the PET 2001, then the C64, which combined whatever aspects of its two predecessors worked best, and added extra "colour" (COUGH! This is a C64 we're talking about here...).

The next machine was something I had a history with.

When I was a nipper, my younger brother didn't want to be left out when I'd been given my +2 at Christmas 1987, and our late dad sorted him out with a second-hand Dragon 32 he'd found advertised at work. It had a bundle of games, two of the weirdest analogue joysticks ever made, and it kept him happy.

When he wasn't playing games on it, I had a shot at programming it. We had a badly-photocopied user manual, so why not? I never attempted anything as ambitious as this, though.

Illuminati II: The Davos Deadlock was released as part of WOOT! Tape Magazine on 22 December 2022. And I'd spent so long building that masterpiece that I thought I'd tackle the Dragon version just as it was about to be released. That I managed to do it in two and a half days is testament to (a) the 6809 machine code being very similar to the 6502 code I'd already written for the Commodore machines, and (b) some helpful detective work by several users of Spectrum Computing that told me I'd have to upgrade Python from 3.4 to 3.6 if I wanted BAS2CAS to work.

That it did work after the upgrade meant I could edit the program easily, because the crazy line editor is one of the Dragon's weakest features. Its keyboard isn't too responsive either - even when emulated by XRoar - and I'd often find I'd missed a character, was delivered an annoying ?SN ERROR and would have to retype the entire line. Not so when BAS2CAS worked - edit it in a text editor, convert it to a tape (near-instantly), CLOAD, RUN, and I'd know if the changes I'd have made worked. Progress was swift, but it would have been glacial if I'd had to make every change manually on the emulated Dragon. I managed it with the machine code, but it was barely more than 100 bytes...

The game is, necessarily, a mixture of the text screen and graphics screen, which are incompatible with each other. I'd designed a pyramid for the text screen, but there wasn't really any room for the Evil Eye - so the text screen was left for PRINT and INPUT, and the pyramid appears on the graphics screen in PMODE 1. There wasn't really any need for higher resolution - the sharp graphics of PMODE 4 where each pixel is the same size as it is on a Spectrum are in two colours only, and I'd rather have the garish colour scheme of SCREEN 1,0 than monochrome.



Loading instructions (for those who need them)
----------------------------------------------

File > Cassette > Input Tape... and select the .CAS file.
Type CLOAD, and when it's done, RUN.

I have never found any instance of a Dragon program auto-running. Even the machine code games my brother had back in the day had to be manually EXECed when they had loaded. Such were the limitations of a machine based mostly around the 1980 Tandy CoCo.



The ludicrous backstory (mostly copied from the ZX81 original)
--------------------------------------------------------------

Ludicrous backstories were a feature of my 2020 CSSCGC games - but given that this one involves the Illuminati, there's no pressing need. You can believe in this cabal of very powerful elites manipulating the leaders of the world like puppets on strings, or not - the choice is yours. It is said that behind every conspiracy theory there is a seed of truth just waiting to be discovered (or an outright Spoiler Alert), but it's very hard not to be distracted from finding that truth when, for instance, David Icke mentions shape-shifting lizards, or Alex Jones starts shouting so furiously that his head looks like it'll explode.

But anyway, the story is - the Illuminati are about to take over the world, and you have to stop them. (Paul Joseph Watson interjects here, to say "Well, imagine my shock!" the way he does. And he would be right do so at this point, because who didn't see that coming?) The Illuminati's Top Secret Pyramid has a combination lock which requires the input of three bytes of code in hexadecimal format - with a total of 16,777,215 possible combinations. Unfortunately, for them at least, they put a complete brainlet in charge of writing the code to secure the lock - who has only just read about it in a book that's nearly 40 years out of date. The Illuminati, of course, are not technically-minded so they have absolutely no idea about this, and they're far too busy plotting what they're going to do once they get hold of China's even-more-top-secret virus research labs (and don't believe we've seen the last of THAT yet!).

Input the three hex bytes into the pyramid, and they will propagate upwards according to a secret code known only to the Programmer... and anyone else who knows how to disassemble 118 bytes of 6809 machine code. Once the bytes reach the top of the pyramid, if the final hex byte matches the one displayed above the Evil Eye, the lock will open, and the Illuminati will be destroyed - somehow, say, a bomb goes off in their headquarters, or the virus they're going to unleash turns out to be specifically targeted at themselves. (Or you make up your own story, it's not as if anyone's going to believe it anyway.) Either way, humanity is saved, and the people across the world danced and skipped in the street with delight, and feasted on steamed hams, and fruit bats, and breakfast cereals, and Pan-Galactic Gargle Blasters, and... so on, and so on, you get the idea by now. Look, I didn't say it had to make sense, did I?

The Illuminati's security is so weak that only 64 out of the possible 256 bytes will ever result from any of the 16,777,215 hex combinations. You only have 16 attempts to match the code, and it changes every time you try... but this does at least mean you have a 1 in 4 chance of cracking the code overall.

If this all sounds absolutely window-licking mental, it's because it is. November 2020, when the original ZX81 version was written, was near the end of a second entire month confined to my house (i.e. never venturing more than about five metres beyond my front door, just to put the bins out - April 2020 was the first); a third followed (January 2021), and I get the distinct impression that the worst is yet to come (see the backstory of Illuminati II for elaboration). This has had absolutely no detrimental effects at all. Was that sarcasm? You decide.



Extra bonus endorsements
------------------------

Hails and "diolch" to Dilwyn Jones, "Mr QL", guardian of the arcane realm of Sir Clive's weirdly long business machine with the ill-fated microdrives... for giving me a bit of help with the Welsh introductory screen. Apparently, Google Translate's attempt at translating my English message into Welsh was very accurate, other than its use of "Cymraeg" (specifically the Welsh language) instead of "Cymreig" (something that is "of Wales", e.g. Welsh cakes, choirs, unemployed ex-miners, etc.) A translation of what it says is in a REM statement, line 8121. LIST this line to see it.

Those who want a game all about the Illuminati and weird conspiracy theories THAT'S ACTUALLY GOOD would do well to equip yourselves with a copy of Doom II, a suitable modern source port (GZDoom is the one I use), and the excellent megawad "Ancient Aliens". Points to mention are:
(1) It is very hard - you *will* get mashed to a pulp, very regularly, if you play on Ultra-Violence;
(2) It is very colourful - it has a completely different palette to regular Doom wads, with bright neon lights everywhere and a lot of blue and magenta welded together;
(3) It sounds *brilliant*, as every backing track was composed by Stuart Rynn, the Doom world's answer to Henri Sorvali;
(4) I'm not saying it was made by aliens... but it was aliens.

A second wad, Final Doomer, will add the choice of weapons appropriate to various custom megawads, and Ancient Aliens is included. Add this on top for twice the experience!

Ancient Aliens deservedly won a Cacoward in 2016. Get it NOW!
https://doomwiki.org/wiki/Ancient_Aliens
https://www.doomworld.com/idgames/levels/doom2/Ports/megawads/aaliens
